The present invention relates to computing systems, and deals more particularly with message processing systems that store messages temporarily in queues, and still more particularly with concurrently processing streams of queued messages within a message queue.
Message queueing is a well-known concept in computer programming, and refers to a messaging model where messages from multiple senders are put onto a queue at a messaging service provider and then dispatched from the queue to various target recipients. The messaging service provider may also be referred to as a message queueing system. The message queue provides asynchronous communication between a message sender and recipient, whereby the sender can send the message without regard to whether the recipient is currently able to receive the message: the message remains stored in the queue until such time as it is dispatched to the recipient. The sender and recipient may be processes on a single computer, or processes on different computers. Transaction processing semantics may be used to ensure that a message is not permanently removed from the queue until the recipient has successfully received it.